[INFO] cloning repository https://github.com/zhuqingyv/mlink
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/zhuqingyv/mlink" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzhuqingyv%2Fmlink", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzhuqingyv%2Fmlink'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a42f7d85152783e2d71bb1d5190863cfc9df3cbd
[INFO] testing zhuqingyv/mlink against try#28f95933dc0727396c07b48d0a8cb5211b7fb472 for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzhuqingyv%2Fmlink" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-4-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/zhuqingyv/mlink
[INFO] finished tweaking git repo https://github.com/zhuqingyv/mlink
[INFO] tweaked toml for git repo https://github.com/zhuqingyv/mlink written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/zhuqingyv/mlink on toolchain 28f95933dc0727396c07b48d0a8cb5211b7fb472
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/zhuqingyv/mlink already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c1d78701a8acf3b3e5d046e2f939edaf388a7247df01f8d9df72150ca7a29ba6
[INFO] running `Command { std: "docker" "start" "-a" "c1d78701a8acf3b3e5d046e2f939edaf388a7247df01f8d9df72150ca7a29ba6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c1d78701a8acf3b3e5d046e2f939edaf388a7247df01f8d9df72150ca7a29ba6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c1d78701a8acf3b3e5d046e2f939edaf388a7247df01f8d9df72150ca7a29ba6", kill_on_drop: false }`
[INFO] [stdout] c1d78701a8acf3b3e5d046e2f939edaf388a7247df01f8d9df72150ca7a29ba6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 62540d137c43b3097998bc241bb669f14fed44918d94e76fe6bc2a0c3fa498e1
[INFO] running `Command { std: "docker" "start" "-a" "62540d137c43b3097998bc241bb669f14fed44918d94e76fe6bc2a0c3fa498e1", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.185
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling xml v1.2.1
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling flume v0.11.1
[INFO] [stderr]    Compiling libdbus-sys v0.2.7
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling rmp v0.8.15
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling if-addrs v0.15.0
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling socket-pktinfo v0.3.2
[INFO] [stderr]    Compiling cc v1.2.60
[INFO] [stderr]    Compiling mdns-sd v0.19.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling tungstenite v0.24.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde-xml-rs v0.8.2
[INFO] [stderr]    Compiling rmp-serde v1.3.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling zstd v0.13.3
[INFO] [stderr]    Compiling dbus v0.9.10
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling tokio-tungstenite v0.24.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling bluez-generated v0.4.0
[INFO] [stderr]    Compiling dbus-tokio v0.7.6
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling bluez-async v0.8.2
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling btleplug v0.11.8
[INFO] [stderr]    Compiling mlink-core v0.1.0 (/opt/rustwide/workdir/crates/mlink-core)
[INFO] [stdout] warning: associated items `flush_unacked_over`, `score`, and `should_switchback` are never used
[INFO] [stdout]    --> crates/mlink-core/src/core/session/io.rs:78:25
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl Session {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  78 |     pub(crate) async fn flush_unacked_over(&self, link_id: &str) -> Result<()> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub(crate) fn score(status: &LinkStatus) -> i64 {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub(crate) async fn should_switchback(&self, current: &str, best: &str) -> bool {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling mlink-daemon v0.1.0 (/opt/rustwide/workdir/crates/mlink-daemon)
[INFO] [stderr]    Compiling mlink-cli v0.1.0 (/opt/rustwide/workdir/crates/mlink-cli)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.78s
[INFO] running `Command { std: "docker" "inspect" "62540d137c43b3097998bc241bb669f14fed44918d94e76fe6bc2a0c3fa498e1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "62540d137c43b3097998bc241bb669f14fed44918d94e76fe6bc2a0c3fa498e1", kill_on_drop: false }`
[INFO] [stdout] 62540d137c43b3097998bc241bb669f14fed44918d94e76fe6bc2a0c3fa498e1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 211526ca060ae355514c02bcbfe17d346248318123e2ee3a6d6821f2dec231ae
[INFO] running `Command { std: "docker" "start" "-a" "211526ca060ae355514c02bcbfe17d346248318123e2ee3a6d6821f2dec231ae", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling tungstenite v0.23.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling dbus v0.9.10
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling tokio-tungstenite v0.24.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-tungstenite v0.23.1
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling dbus-tokio v0.7.6
[INFO] [stderr]    Compiling bluez-generated v0.4.0
[INFO] [stderr]    Compiling tokio-test v0.4.5
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling bluez-async v0.8.2
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling btleplug v0.11.8
[INFO] [stderr]    Compiling mlink-core v0.1.0 (/opt/rustwide/workdir/crates/mlink-core)
[INFO] [stdout] warning: associated items `flush_unacked_over`, `score`, and `should_switchback` are never used
[INFO] [stdout]    --> crates/mlink-core/src/core/session/io.rs:78:25
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl Session {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  78 |     pub(crate) async fn flush_unacked_over(&self, link_id: &str) -> Result<()> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub(crate) fn score(status: &LinkStatus) -> i64 {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub(crate) async fn should_switchback(&self, current: &str, best: &str) -> bool {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling mlink-daemon v0.1.0 (/opt/rustwide/workdir/crates/mlink-daemon)
[INFO] [stdout] warning: value assigned to `received_ack` is never read
[INFO] [stdout]    --> crates/mlink-core/src/core/session/reader.rs:351:32
[INFO] [stdout]     |
[INFO] [stdout] 351 |         let mut received_ack = None;
[INFO] [stdout]     |                                ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 361 |         received_ack = Some(ack);
[INFO] [stdout]     |         ------------------------ `received_ack` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/mlink-core/examples/two_nodes.rs:26:10
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let (mut node_a, mut node_b) = mock_pair();
[INFO] [stdout]    |          ----^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/mlink-core/examples/two_nodes.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let (mut node_a, mut node_b) = mock_pair();
[INFO] [stdout]    |                      ----^^^^^^
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/mlink-core/tests/phase3_tests.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let (mut a, mut b) = mock_pair();
[INFO] [stdout]    |          ----^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/mlink-core/tests/phase3_tests.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let (mut a, mut b) = mock_pair();
[INFO] [stdout]    |                 ----^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/mlink-core/tests/phase3_tests.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let (mut a, mut b) = mock_pair();
[INFO] [stdout]    |          ----^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/mlink-core/tests/phase3_tests.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let (mut a, mut b) = mock_pair();
[INFO] [stdout]    |                 ----^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/mlink-core/tests/tcp_tests.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let mut client = TcpConnection::new(stream, addr.to_string());
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/mlink-core/tests/tcp_tests.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let mut client = TcpConnection::new(stream, addr.to_string());
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mlink-core/tests/phase3_tests.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 142 |         let mut conn = t.listen().await.expect("listen");
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mlink-core/tests/phase3_tests.rs:153:9
[INFO] [stdout]     |
[INFO] [stdout] 153 |     let mut client = client_t
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/mlink-core/tests/phase6_tests.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let (mut a, mut b) = mock_pair();
[INFO] [stdout]    |          ----^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/mlink-core/tests/phase6_tests.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let (mut a, mut b) = mock_pair();
[INFO] [stdout]    |                 ----^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mlink-core/tests/tcp_tests.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let mut conn = TcpConnection::new(stream, "s");
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mlink-core/tests/tcp_tests.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |     let mut client = TcpConnection::new(stream, addr.to_string());
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/mlink-core/tests/phase6_tests.rs:93:10
[INFO] [stdout]    |
[INFO] [stdout] 93 |     let (mut a1, mut b1) = mock_pair();
[INFO] [stdout]    |          ----^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/mlink-core/tests/phase6_tests.rs:94:10
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let (mut a2, mut b2) = mock_pair();
[INFO] [stdout]    |          ----^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mlink-core/tests/phase3_tests.rs:177:13
[INFO] [stdout]     |
[INFO] [stdout] 177 |         let mut conn = t.listen().await.expect("listen");
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mlink-core/tests/phase3_tests.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 |     let mut client = client_t
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mlink-core/tests/tcp_tests.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |         let mut conn = TcpConnection::new(stream, "s");
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mlink-core/tests/tcp_tests.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let mut client = TcpConnection::new(stream, addr.to_string());
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mlink-core/tests/phase6_tests.rs:119:10
[INFO] [stdout]     |
[INFO] [stdout] 119 |     let (mut w, mut r) = mock_pair();
[INFO] [stdout]     |          ----^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mlink-core/tests/phase6_tests.rs:119:17
[INFO] [stdout]     |
[INFO] [stdout] 119 |     let (mut w, mut r) = mock_pair();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mlink-core/tests/phase3_tests.rs:219:13
[INFO] [stdout]     |
[INFO] [stdout] 219 |         let mut conn = t.listen().await.expect("listen");
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mlink-core/tests/phase3_tests.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 |     let mut client = client_t
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mlink-core/tests/tcp_tests.rs:170:13
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let mut conn = TcpConnection::new(stream, "s");
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mlink-core/tests/tcp_tests.rs:177:9
[INFO] [stdout]     |
[INFO] [stdout] 177 |     let mut client = TcpConnection::new(stream, addr.to_string());
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mlink-core/src/transport/tcp.rs:621:17
[INFO] [stdout]     |
[INFO] [stdout] 621 |             let mut conn = TcpConnection::new(stream, "test-peer".to_string());
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mlink-core/src/transport/tcp.rs:628:13
[INFO] [stdout]     |
[INFO] [stdout] 628 |         let mut client = TcpConnection::new(stream, addr.to_string());
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mlink-core/tests/phase6_tests.rs:328:10
[INFO] [stdout]     |
[INFO] [stdout] 328 |     let (mut client, mut server) = mock_pair();
[INFO] [stdout]     |          ----^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mlink-core/tests/phase6_tests.rs:328:22
[INFO] [stdout]     |
[INFO] [stdout] 328 |     let (mut client, mut server) = mock_pair();
[INFO] [stdout]     |                      ----^^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mlink-core/src/transport/tcp.rs:643:17
[INFO] [stdout]     |
[INFO] [stdout] 643 |             let mut conn = TcpConnection::new(stream, "test-peer".to_string());
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mlink-core/src/transport/tcp.rs:651:13
[INFO] [stdout]     |
[INFO] [stdout] 651 |         let mut client = TcpConnection::new(stream, addr.to_string());
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mlink-core/src/transport/tcp.rs:670:13
[INFO] [stdout]     |
[INFO] [stdout] 670 |         let mut client = TcpConnection::new(stream, addr.to_string());
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mlink-core/tests/tcp_tests.rs:306:9
[INFO] [stdout]     |
[INFO] [stdout] 306 |     let mut client = TcpConnection::new(stream, addr.to_string());
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mlink-core/tests/phase6_tests.rs:458:10
[INFO] [stdout]     |
[INFO] [stdout] 458 |     let (mut pub_side, mut sub_side) = mock_pair();
[INFO] [stdout]     |          ----^^^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mlink-core/tests/phase6_tests.rs:458:24
[INFO] [stdout]     |
[INFO] [stdout] 458 |     let (mut pub_side, mut sub_side) = mock_pair();
[INFO] [stdout]     |                        ----^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mlink-core/tests/tcp_tests.rs:341:9
[INFO] [stdout]     |
[INFO] [stdout] 341 |     let mut client = TcpConnection::new(stream, addr.to_string());
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mlink-core/src/transport/tcp.rs:693:17
[INFO] [stdout]     |
[INFO] [stdout] 693 |             let mut conn = server_t.listen().await.unwrap();
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mlink-core/src/transport/tcp.rs:718:13
[INFO] [stdout]     |
[INFO] [stdout] 718 |         let mut client = client_t.connect(&peer).await.unwrap();
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `score` is never used
[INFO] [stdout]    --> crates/mlink-core/src/core/session/io.rs:116:19
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl Session {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub(crate) fn score(status: &LinkStatus) -> i64 {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling mlink-cli v0.1.0 (/opt/rustwide/workdir/crates/mlink-cli)
[INFO] [stderr] error: could not compile `mlink-core` (lib test); 9 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/28f95933dc0727396c07b48d0a8cb5211b7fb472/bin/rustc --crate-name mlink_core --edition=2021 crates/mlink-core/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 --test --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=3fc544f952afce08 -C extra-filename=-955811f05f8b9858 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern async_trait=/opt/rustwide/target/debug/deps/libasync_trait-29512f383cf019e0.so --extern btleplug=/opt/rustwide/target/debug/deps/libbtleplug-f36425912aa3067d.rlib --extern bytes=/opt/rustwide/target/debug/deps/libbytes-ff5aca13e3e348ea.rlib --extern futures=/opt/rustwide/target/debug/deps/libfutures-20a27dd8171bc39d.rlib --extern mdns_sd=/opt/rustwide/target/debug/deps/libmdns_sd-a3aa52f38a99a7c2.rlib --extern ring=/opt/rustwide/target/debug/deps/libring-fe544fff01a0caf8.rlib --extern rmp_serde=/opt/rustwide/target/debug/deps/librmp_serde-b10941348ab79454.rlib --extern serde=/opt/rustwide/target/debug/deps/libserde-d4a5bf647d457e55.rlib --extern serde_json=/opt/rustwide/target/debug/deps/libserde_json-2de0d6be3b8748dc.rlib --extern tempfile=/opt/rustwide/target/debug/deps/libtempfile-3aba57bff9818ed9.rlib --extern thiserror=/opt/rustwide/target/debug/deps/libthiserror-af8671636dbe4d60.rlib --extern tokio=/opt/rustwide/target/debug/deps/libtokio-32781c2c4e624e8a.rlib --extern tokio_test=/opt/rustwide/target/debug/deps/libtokio_test-79e2541887d3cede.rlib --extern tracing=/opt/rustwide/target/debug/deps/libtracing-a7bdb81f966dc3cc.rlib --extern uuid=/opt/rustwide/target/debug/deps/libuuid-7da18dd6d1c4b502.rlib --extern zstd=/opt/rustwide/target/debug/deps/libzstd-5757573577be1238.rlib --cap-lints=forbid -L native=/opt/rustwide/target/debug/build/ring-8140ea5c6f5d2ebb/out -L native=/opt/rustwide/target/debug/build/zstd-sys-bc1a5775628e9efa/out -L native=/usr/lib/x86_64-linux-gnu` (signal: 9, SIGKILL: kill)
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `mlink-daemon` (lib test)
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/28f95933dc0727396c07b48d0a8cb5211b7fb472/bin/rustc --crate-name mlink_daemon --edition=2021 crates/mlink-daemon/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 --test --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=4369d8b5b91488f0 -C extra-filename=-f5f60fea44c25c2e --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern axum=/opt/rustwide/target/debug/deps/libaxum-2c7ba9d62a49e98c.rlib --extern dirs=/opt/rustwide/target/debug/deps/libdirs-07799669a8ce90ea.rlib --extern futures=/opt/rustwide/target/debug/deps/libfutures-20a27dd8171bc39d.rlib --extern futures_util=/opt/rustwide/target/debug/deps/libfutures_util-bde81b96b1f7f80d.rlib --extern libc=/opt/rustwide/target/debug/deps/liblibc-da52938bfe154f8f.rlib --extern mlink_core=/opt/rustwide/target/debug/deps/libmlink_core-fd5e3a236ea356ef.rlib --extern serde=/opt/rustwide/target/debug/deps/libserde-d4a5bf647d457e55.rlib --extern serde_json=/opt/rustwide/target/debug/deps/libserde_json-2de0d6be3b8748dc.rlib --extern thiserror=/opt/rustwide/target/debug/deps/libthiserror-af8671636dbe4d60.rlib --extern tokio=/opt/rustwide/target/debug/deps/libtokio-32781c2c4e624e8a.rlib --extern tokio_tungstenite=/opt/rustwide/target/debug/deps/libtokio_tungstenite-535eeca90a0c5822.rlib --extern tracing=/opt/rustwide/target/debug/deps/libtracing-a7bdb81f966dc3cc.rlib --extern tracing_subscriber=/opt/rustwide/target/debug/deps/libtracing_subscriber-293c6e26f63e4838.rlib --cap-lints=forbid -L native=/opt/rustwide/target/debug/build/ring-8140ea5c6f5d2ebb/out -L native=/opt/rustwide/target/debug/build/zstd-sys-bc1a5775628e9efa/out -L native=/usr/lib/x86_64-linux-gnu` (signal: 9, SIGKILL: kill)
[INFO] running `Command { std: "docker" "inspect" "211526ca060ae355514c02bcbfe17d346248318123e2ee3a6d6821f2dec231ae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "211526ca060ae355514c02bcbfe17d346248318123e2ee3a6d6821f2dec231ae", kill_on_drop: false }`
[INFO] [stdout] 211526ca060ae355514c02bcbfe17d346248318123e2ee3a6d6821f2dec231ae
